Namespaces
Variants

std::literals::chrono_literals:: operator""d

From cppreference.net
ヘッダーで定義 <chrono>
constexpr std:: chrono :: day operator "" d ( unsigned long long d ) noexcept ;
(C++20以降)

暦上の月の日を表す std::chrono::day リテラルを形成します。

目次

パラメータ

d - 日付の値

戻り値

std::chrono::day d を格納します。 d > 255 の場合、格納される値は未指定です。

実装例

constexpr std::chrono::day operator ""d(unsigned long long d) noexcept
{
    return std::chrono::day(d);
}

注記

この演算子は名前空間 std :: literals :: chrono_literals で宣言されており、 literals chrono_literals はどちらも インライン名前空間 です。この演算子には以下の方法でアクセスできます:

  • using namespace std :: literals
  • using namespace std :: chrono_literals 、または
  • using namespace std :: literals :: chrono_literals

さらに、名前空間 std :: chrono 内では、 using namespace literals :: chrono_literals ; ディレクティブが 標準ライブラリ によって提供されています。そのため、プログラマが using namespace std :: chrono ; を使用して chronoライブラリ のクラスにアクセスする場合、対応するリテラル演算子も同時に可視化されます。

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::literals::chrono_literals;
    std::cout << static_cast<unsigned>(42d) << '\t' << 42d << '\n'
              << static_cast<unsigned>(256d) << '\t' << 256d << '\n' // unspecified
              << static_cast<unsigned>(298d) << '\t' << 298d << '\n'; // unspecified
}

出力例:

42      42 is not a valid day
0       00 is not a valid day
42      42 is not a valid day

関連項目

day を構築する
( std::chrono::day の 公開メンバ関数)
格納された日付の値を取得する
( std::chrono::day の 公開メンバ関数)